-
Notifications
You must be signed in to change notification settings - Fork 13.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Structurally resolve in pattern matching when peeling refs in new solver #113470
Structurally resolve in pattern matching when peeling refs in new solver #113470
Conversation
This comment has been minimized.
This comment has been minimized.
94ae3a1
to
9f4a7d8
Compare
(this will crash until #113335 lands) |
This comment has been minimized.
This comment has been minimized.
9f4a7d8
to
e0c3280
Compare
This comment has been minimized.
This comment has been minimized.
@@ -638,7 +637,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> { | |||
let var_ty = self.local_ty(span, var_id); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do you know what check_binding_alt_eq_ty
does and if so, can you add a comment to this method?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
r=me after rebase
e0c3280
to
9551d96
Compare
9551d96
to
846d54f
Compare
@bors r=lcnr |
☀️ Test successful - checks-actions |
Finished benchmarking commit (0a2681c): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)ResultsThis is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
CyclesThis benchmark run did not return any relevant results for this metric. Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 656.645s -> 656.683s (0.01%) |
Let me know if you want me to commit the minimized test:
In that test above, the match scrutinee is
<std::vec::Iter<(&'static str, fn())> as Iterator>::Item
, which we cannot peel the refs from.We also need to structurally resolve in the loop, since structural resolve is inherently shallow. I haven't come up with a test where this matters, but I can if you care.
Also, I removed two other calls to
resolve_vars_with_obligations
in diagnostics code that I'm pretty convinced are not useful.r? @lcnr